# -*- coding: utf-8 -*-
"""
@File    :   config.py
@Time    :   2024/04/12 10:26:51
@Author  :   Ennis.Zhou 
@Desc    :   配置文件
"""
import os
import redis
from datetime import timedelta

BASE_DIR = os.path.dirname(os.path.realpath(__file__))
UPLOAD_FOLDER = os.path.join(BASE_DIR, 'log/')


class BaseConfig(object):
    # str(uuid.uuid4())
    SECRET_KEY = "flask-pro"

    # 文件配置
    ALLOWED_EXTENSIONS = {'txt', 'pdf', 'png', 'jpg', 'jpeg', 'gif'}
    UPLOAD_FOLDER = UPLOAD_FOLDER
    MAX_CONTENT_LENGTH = 16 * 1024 * 1024

    # mysql配置
    SQLALCHEMY_DATABASE_URI = (
        "mysql+pymysql://root:123456@127.0.0.1:3306/flask?charset=utf8mb4"
    )

    # 每次请求结束后自动提交数据库中的改动
    SQLALCHEMY_COMMIT_ON_TEARDOWN = True
    # 禁用SQLAlchemy对追踪对象的修改并且发送信号
    SQLALCHEMY_TRACK_MODIFICATIONS = True
    # 操作数据库时显示原始SQL语句
    SQLALCHEMY_ECHO = True

    # 关闭wtf
    WTF_CSRF_CHECK_DEFAULT = False

    # session配置
    # 自定义设置session的有效期
    PERMANENT_SESSION_LIFETIME = timedelta(seconds=3600)
    # session类型为redis
    SESSION_TYPE = "redis"
    # 如果设置为True，则关闭浏览器session就失效。
    SESSION_PERMANENT = False
    # 是否对发送到浏览器上session的cookie值进行加密，是否强制加盐（密），混淆session
    SESSION_USE_SIGNER = True
    # 保存到session中的值的前缀
    SESSION_KEY_PREFIX = "session:"
    SESSION_REDIS = redis.Redis(host="127.0.0.1", port="16379")

    # 重置密码
    RESET_PWD = "123456"
